Farklar

Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.

Karşılaştırma görünümüne bağlantı

İki taraf da önceki sürüm Önceki sürüm
Sonraki sürüm
Önceki sürüm
tr:cs:lang:cpp:types:ascii [2026/04/12 13:27] – ulascemhtr:cs:lang:cpp:types:ascii [2026/04/12 13:36] (mevcut) – ulascemh
Satır 3: Satır 3:
 {{wp:tr>ASCII}} {{wp:tr>ASCII}}
  
-C++ programlamada karakterler bellekte doğrudan metin olarak değil, sayısal değerler olarak tutulur. Bu sayısal değerlerin karakterlerle nasıl eşleştiğini belirleyen evrensel standarda ASCII((American Standard Code for Information Interchange)) denir.+C++ programlamada karakterler bellekte doğrudan metin olarak değil, sayısal değerler olarak tutulur. Bu sayısal değerlerin karakterlerle nasıl eşleştiğini belirleyen evrensel standarda ASCII denir.
  
 C++'da temel karakter veri tipi olan [[tr:cs:lang:cpp:types:char|char]], özünde 8 bitlik bir tam sayı tipidir. Genellikle arka planda ASCII tablosunu kullanır. C++'da temel karakter veri tipi olan [[tr:cs:lang:cpp:types:char|char]], özünde 8 bitlik bir tam sayı tipidir. Genellikle arka planda ASCII tablosunu kullanır.
Satır 10: Satır 10:
  
 <datatable fixed-header='{ "header": true, "headerOffset": 50 }' paging="false"> <datatable fixed-header='{ "header": true, "headerOffset": 50 }' paging="false">
-^ Code ^ Symbol ^ Code ^ Symbol ^ Code ^ Symbol ^ Code ^ Symbol ^ +^ Kod ^ Sembol ^ Kod ^ Sembol ^ Kod ^ Sembol ^ Kod ^ Sembol ^ 
-^ 0 | ''NUL (null)'' | 32 | ''(space)'' | 64 | ''@'' | 96 | ''`'' | +| 0 | ''NUL (null)'' | 32 | ''(space)'' | 64 | ''@'' | 96 | ''`'' | 
-^ 1 | ''SOH (start of header)'' | 33 | ''!'' | 65 | ''A'' | 97 | ''a'' |  +| 1 | ''SOH (start of header)'' | 33 | ''!'' | 65 | ''A'' | 97 | ''a'' |  
-^ 2 | ''STX (start of text)'' | 34 | ''”'' | 66 | ''B'' | 98 | ''b'' |  +| 2 | ''STX (start of text)'' | 34 | ''”'' | 66 | ''B'' | 98 | ''b'' |  
-^ 3 | ''ETX (end of text)'' | 35 | ''#'' | 67 | ''C'' | 99 | ''c'' |  +| 3 | ''ETX (end of text)'' | 35 | ''#'' | 67 | ''C'' | 99 | ''c'' |  
-^ 4 | ''EOT (end of transmission)'' | 36 | ''$'' | 68 | ''D'' | 100 | ''d'' |  +| 4 | ''EOT (end of transmission)'' | 36 | ''$'' | 68 | ''D'' | 100 | ''d'' |  
-^ 5 | ''ENQ (enquiry)'' | 37 | ''%'' | 69 | ''E'' | 101 | ''e'' |  +| 5 | ''ENQ (enquiry)'' | 37 | ''%'' | 69 | ''E'' | 101 | ''e'' |  
-^ 6 | ''ACK (acknowledge)'' | 38 | ''&'' | 70 | ''F'' | 102 | ''f'' |  +| 6 | ''ACK (acknowledge)'' | 38 | ''&'' | 70 | ''F'' | 102 | ''f'' |  
-^ 7 | ''BEL (bell)'' | 39 | ''’'' | 71 | ''G'' | 103 | ''g'' |  +| 7 | ''BEL (bell)'' | 39 | ''’'' | 71 | ''G'' | 103 | ''g'' |  
-^ 8 | ''BS (backspace)'' | 40 | ''('' | 72 | ''H'' | 104 | ''h'' |  +| 8 | ''BS (backspace)'' | 40 | ''('' | 72 | ''H'' | 104 | ''h'' |  
-^ 9 | ''HT (horizontal tab)'' | 41 | '')'' | 73 | ''I'' | 105 | ''i'' |  +| 9 | ''HT (horizontal tab)'' | 41 | '')'' | 73 | ''I'' | 105 | ''i'' |  
-^ 10 | ''LF (line feed/new line)'' | 42 | ''*'' | 74 | ''J'' | 106 | ''j'' |  +| 10 | ''LF (line feed/new line)'' | 42 | ''*'' | 74 | ''J'' | 106 | ''j'' |  
-^ 11 | ''VT (vertical tab)'' | 43 | ''+'' | 75 | ''K'' | 107 | ''k'' |  +| 11 | ''VT (vertical tab)'' | 43 | ''+'' | 75 | ''K'' | 107 | ''k'' |  
-^ 12 | ''FF (form feed / new page)'' | 44 | '','' | 76 | ''L'' | 108 | ''l'' |  +| 12 | ''FF (form feed / new page)'' | 44 | '','' | 76 | ''L'' | 108 | ''l'' |  
-^ 13 | ''CR (carriage return)'' | 45 | ''-'' | 77 | ''M'' | 109 | ''m'' |  +| 13 | ''CR (carriage return)'' | 45 | ''-'' | 77 | ''M'' | 109 | ''m'' |  
-^ 14 | ''SO (shift out)'' | 46 | ''.'' | 78 | ''N'' | 110 | ''n'' |  +| 14 | ''SO (shift out)'' | 46 | ''.'' | 78 | ''N'' | 110 | ''n'' |  
-^ 15 | ''SI (shift in)'' | 47 | ''/'' | 79 | ''O'' | 111 | ''o'' |  +| 15 | ''SI (shift in)'' | 47 | ''/'' | 79 | ''O'' | 111 | ''o'' |  
-^ 16 | ''DLE (data link escape)'' | 48 | ''0'' | 80 | ''P'' | 112 | ''p'' |  +| 16 | ''DLE (data link escape)'' | 48 | ''0'' | 80 | ''P'' | 112 | ''p'' |  
-^ 17 | ''DC1 (data control 1)'' | 49 | ''1'' | 81 | ''Q'' | 113 | ''q'' |  +| 17 | ''DC1 (data control 1)'' | 49 | ''1'' | 81 | ''Q'' | 113 | ''q'' |  
-^ 18 | ''DC2 (data control 2)'' | 50 | ''2'' | 82 | ''R'' | 114 | ''r'' |  +| 18 | ''DC2 (data control 2)'' | 50 | ''2'' | 82 | ''R'' | 114 | ''r'' |  
-^ 19 | ''DC3 (data control 3)'' | 51 | ''3'' | 83 | ''S'' | 115 | ''s'' |  +| 19 | ''DC3 (data control 3)'' | 51 | ''3'' | 83 | ''S'' | 115 | ''s'' |  
-^ 20 | ''DC4 (data control 4)'' | 52 | ''4'' | 84 | ''T'' | 116 | ''t'' |  +| 20 | ''DC4 (data control 4)'' | 52 | ''4'' | 84 | ''T'' | 116 | ''t'' |  
-^ 21 | ''NAK (negative acknowledge)'' | 53 | ''5'' | 85 | ''U'' | 117 | ''u'' |  +| 21 | ''NAK (negative acknowledge)'' | 53 | ''5'' | 85 | ''U'' | 117 | ''u'' |  
-^ 22 | ''SYN (synchronous idle)'' | 54 | ''6'' | 86 | ''V'' | 118 | ''v'' |  +| 22 | ''SYN (synchronous idle)'' | 54 | ''6'' | 86 | ''V'' | 118 | ''v'' |  
-^ 23 | ''ETB (end of transmission block)'' | 55 | ''7'' | 87 | ''W'' | 119 | ''w'' |  +| 23 | ''ETB (end of transmission block)'' | 55 | ''7'' | 87 | ''W'' | 119 | ''w'' |  
-^ 24 | ''CAN (cancel)'' | 56 | ''8'' | 88 | ''X'' | 120 | ''x'' |  +| 24 | ''CAN (cancel)'' | 56 | ''8'' | 88 | ''X'' | 120 | ''x'' |  
-^ 25 | ''EM (end of medium)'' | 57 | ''9'' | 89 | ''Y'' | 121 | ''y'' |  +| 25 | ''EM (end of medium)'' | 57 | ''9'' | 89 | ''Y'' | 121 | ''y'' |  
-^ 26 | ''SUB (substitute)'' | 58 | '':'' | 90 | ''Z'' | 122 | ''z'' |  +| 26 | ''SUB (substitute)'' | 58 | '':'' | 90 | ''Z'' | 122 | ''z'' |  
-^ 27 | ''ESC (escape)'' | 59 | '';'' | 91 | ''['' | 123 | ''{'' |   +| 27 | ''ESC (escape)'' | 59 | '';'' | 91 | ''['' | 123 | ''{'' |   
-^ 28 | ''FS (file separator)'' | 60 | ''<'' | 92 | ''\'' | 124 | ''|'' |  +| 28 | ''FS (file separator)'' | 60 | ''<'' | 92 | ''\'' | 124 | ''|'' |  
-^ 29 | ''GS (group separator)'' | 61 | ''='' | 93 | '']'' | 125 | ''}'' |  +| 29 | ''GS (group separator)'' | 61 | ''='' | 93 | '']'' | 125 | ''}'' |  
-^ 30 | ''RS (record separator)'' | 62 | ''>'' | 94 | ''^'' | 126 | ''~'' |  +| 30 | ''RS (record separator)'' | 62 | ''>'' | 94 | ''^'' | 126 | ''~'' |  
-^ 31 | ''US (unit separator)'' | 63 | ''?'' | 95 | ''_'' | 127 | ''DEL (delete)'' | +| 31 | ''US (unit separator)'' | 63 | ''?'' | 95 | ''_'' | 127 | ''DEL (delete)'' | 
 </datatables> </datatables>
 +
 +===== Karakter Aritmetiği =====
 +
 +==== Karakterin ASCII Değerini Bulma ====
 +
 +<code cpp>
 +#include <iostream>
 +
 +int main() {
 +char harf = 'A';
 +
 +// Güvenli ve modern C++ dönüşümü (Casting)
 +int asciiDegeri = static_cast<int>(harf);
 +
 +std::cout << "Karakter: " << harf << "\n";
 +std::cout << "ASCII Degeri: " << asciiDegeri << "\n"; // Çıktı: 65
 +
 +return 0;
 +
 +
 +}
 +</code>
 +
 +==== Büyük Harf / Küçük Harf Dönüşümü (Karakter Aritmetiği) ====
 +
 +
 +Büyük harfler ile küçük harfler arasında ASCII tablosunda tam olarak 32 birim fark vardır. (Örn: 'a' = 97, 'A' = 65 -> 97 - 65 = 32). Bu kuralı kullanarak manuel büyük/küçük harf dönüşümü yapabiliriz.
 +
 +<code cpp>
 +#include <iostream>
 +
 +int main() {
 +char kucukHarf = 'g';
 +
 +// Küçük harften 32 çıkarırsak büyük harfi elde ederiz.
 +char buyukHarf = kucukHarf - 32; 
 +
 +std::cout << kucukHarf << " harfinin buyugu: " << buyukHarf << "\n"; 
 +// Çıktı: g harfinin buyugu: G
 +
 +return 0;
 +
 +
 +}
 +</code>
 +
 +Not: Modern C++ projelerinde bu işlemi manuel yapmak yerine ''<cctype>'' kütüphanesindeki ''std::toupper()'' ve ''std::tolower()'' fonksiyonlarını kullanmak en iyi pratiktir 
 +
 +==== Karakterin Rakam Olup Olmadığını Kontrol Etme ====
 +
 +Karakterin ASCII değerinin 48 ('0') ile 57 ('9') arasında olup olmadığını kontrol ederek matematiksel bir doğrulama yapabiliriz.
 +
 +<code cpp>
 +#include <iostream>
 +
 +bool rakamMi(char c) {
 +// '0' ile '9' ASCII aralığında mı diye bakıyoruz
 +return (c >= '0' && c <= '9');
 +}
 +
 +int main() {
 +char testKarakteri = '5';
 +if (rakamMi(testKarakteri)) {
 +std::cout << testKarakteri << " bir rakamdir.\n";
 +}
 +return 0;
 +}
 +</code>
  
 <wrap onlyprint>Bu belgedeki bilgiler [[tr:cs:lang:cpp:types:ascii|UCH Wiki]]'den alınmıştır.</wrap> <wrap onlyprint>Bu belgedeki bilgiler [[tr:cs:lang:cpp:types:ascii|UCH Wiki]]'den alınmıştır.</wrap>
 <wrap hide>https://wiki.ulascemh.com/doku.php?id=tr:cs:lang:cpp:types:ascii</wrap> <wrap hide>https://wiki.ulascemh.com/doku.php?id=tr:cs:lang:cpp:types:ascii</wrap>
  
  • tr/cs/lang/cpp/types/ascii.1776000476.txt.gz
  • Son değiştirilme: 2026/04/12 13:27
  • Değiştiren: ulascemh