Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

ASCII na int

Ostatnio zmodyfikowano 2014-10-19 20:53
Autor Wiadomość
winio94
Temat założony przez niniejszego użytkownika
ASCII na int
» 2014-10-18 22:33:55
Witam jak wyswietlic liczbę 2014 nie używając cyfr?:D
Chciałem azmienić 20 znak ASCII na int oraz 14 znak ASCII na int ale nie udaje mi się to poprzez proste rzutowanie char na int  np:
char zmienna = 'znak'; cout <<( int ) zmienna;
 20 znak ASCII to DC4 wiec nie wiem czy da się to zrobic opisaną metodą. Pomoże ktoś?Pozdrawiam
P-118824
1aam2am1
» 2014-10-18 23:19:54
C/C++
std::cout << '\20';
//lub
std::cout << char( 20 ); // za 20 możesz podstawić zmienną
Nie wiem czy znak o numerze 20 w ASCII jest znakiem posiadającym grafikę.

Edit.
Jeżeli chodzi w drugą stronę to:
C/C++
char zmienna = 20;
std::cout << static_cast < int >( zmienna );
P-118826
Rashmistrz
» 2014-10-18 23:44:38
std::cout << '\20';
Powinno chyba być:
std::cout << '\u14';

0x14 - 20;
0x0E - 14;

EDIT:
20 daje znak '¶', a
14 daje znak '♫'...

EDIT 2:
A poprawnie powinno być:
C/C++
char ch1 = '\u0014';
char ch2 = '\u000E';
std::cout << ch1 << ch2;

EDIT 3:
Ten zapis nie jest w ASCII tylko w Unicode. :F

EDIT 4:
Teraz wyszło mi wyśmienicie :D
C/C++
#include <iostream>
using namespace std;
int main() {
    char ch1 = '\x14';
    char ch2 = '\x0E';
    cout <<( int ) ch1 <<( int ) ch2 << '\n';
    return 0;
}

P-118829
winio94
Temat założony przez niniejszego użytkownika
» 2014-10-19 18:45:50
Rashmistrz wielkie dzięki za pomoc, doszedłem do tego samego co Ty, ale nie potrafiłem zamienić tych znaczków na int :D Konwersja '\¶' na int nie działa. Niestety koledzy, chyba oboje mnie nie zrozumieliście:)
"Witam jak wyswietlic liczbę 2014 nie używając cyfr?:D "
Nie można użyć żadnej cyfry w kodzie, a '\x14' oraz '\x0E' posiadają cyfry. '\xE' działa tak samo jak '\x0E' więc jedyne co zostaje to wyświetlenie liczby 20 bez używania cyfr.Ma ktoś jakieś pomysły?Pozdrawiam
P-118940
pekfos
» 2014-10-19 18:56:06
"Witam jak wyswietlic liczbę 2014 nie używając cyfr?:D "
Nie można użyć żadnej cyfry w kodzie, a '\x14' oraz '\x0E' posiadają cyfry. '\xE' działa tak samo jak '\x0E' więc jedyne co zostaje to wyświetlenie liczby 20 bez używania cyfr.Ma ktoś jakieś pomysły?Pozdrawiam
Łatwe.
C/C++
#include <iostream>

int main()
{
    static int i;
    ++i, i =( i << 'L' - 'A' ) - '"';
   
    std::cout << i;
}
P-118941
winio94
Temat założony przez niniejszego użytkownika
» 2014-10-19 19:07:06
Wow pekfos mógłbyś wytłumaczyć co za magię użyłeś w kodzie, albo podać link  gdzie mogę o tym poczytać? co to zapis i<< coś i dlaczego 'L' - 'A' skoro wynik powinien dać 11? pozdrawiam
P-118942
Rashmistrz
» 2014-10-19 19:11:14
@pekfos
Wytłumacz mi po co jest tam:
"static", "i++", przecinek
P-118943
pekfos
» 2014-10-19 19:13:46
mógłbyś wytłumaczyć co za magię użyłeś w kodzie, albo podać link  gdzie mogę o tym poczytać?
Jakby każdy wiedział, o co chodzi w magii, to by to nie była magia ;P Nie ma tam nic ponad podstawy C++.

Wytłumacz mi po co jest tam:
"static", "i++", przecinek
Bo tak mi się napisało. Można to zrobić dużo krócej, ale po co dawać krótkie szybkie gotowce, jak można zmusić do myślenia i douczenia się ;) A co do krótkich i szybkich gotowców.. 2014 powinno dać się zapisać jako a*b+c, z użyciem samych literałów znakowych (lub ich różnic).
P-118944
« 1 » 2 3
  Strona 1 z 3 Następna strona