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 |
|
1aam2am1 |
» 2014-10-18 23:19:54 std::cout << '\20';
std::cout << char( 20 );
Nie wiem czy znak o numerze 20 w ASCII jest znakiem posiadającym grafikę. Edit. Jeżeli chodzi w drugą stronę to: char zmienna = 20; std::cout << static_cast < int >( zmienna );
|
|
Rashmistrz |
» 2014-10-18 23:44:38 Powinno chyba być:std::cout << '\u14'; 0x14 - 20; 0x0E - 14; EDIT: 20 daje znak '¶', a 14 daje znak '♫'... EDIT 2: A poprawnie powinno być: 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 #include <iostream> using namespace std; int main() { char ch1 = '\x14'; char ch2 = '\x0E'; cout <<( int ) ch1 <<( int ) ch2 << '\n'; return 0; }
|
|
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 |
|
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. #include <iostream>
int main() { static int i; ++i, i =( i << 'L' - 'A' ) - '"'; std::cout << i; } |
|
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 |
|
Rashmistrz |
» 2014-10-19 19:11:14 @pekfos Wytłumacz mi po co jest tam: "static", "i++", przecinek |
|
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). |
|
« 1 » 2 3 |