char型の形式でメモリに格納されている11111111は10進数-1をあらわし unsigned char型の形式でメモリに格納されている11111111は10進数255を表しています

ソーラー「



00000000は10進数0


となると


00000001は10進数1です




00000010は10進数2です




00000011は10進数3です




00000100は10進数4です




00000101は10進数5です




00000110は10進数6です




00000111は10進数7です




00001000は10進数8です




00001001は10進数9です




00001010は10進数10です




00001011は10進数11です




00001100は10進数12です




00001101は10進数13です




00001110は10進数14です




00001111は10進数15です




00010000は10進数16です




00010001は10進数17です




00010010は10進数18です




00010011は10進数19です




00010100は10進数20です




00010101は10進数21です




00010110は10進数22です




00010111は10進数23です




00011000は10進数24です




00011001は10進数25です




00011010は10進数26です




00011011は10進数27です




00011100は10進数28です




00011101は10進数29です




00011110は10進数30です




00011111は10進数31です




00100000は10進数32です




00100001は10進数33です




00100010は10進数34です




00100011は10進数35です




00100100は10進数36です




00100101は10進数37です




00100110は10進数38です




00100111は10進数39です




00101000は10進数40です




00101001は10進数41です




00101010は10進数42です




00101011は10進数43です




00101100は10進数44です




00101101は10進数45です




00101110は10進数46です




00101111は10進数47です




00110000は10進数48です




00110001は10進数49です




00110010は10進数50です




00110011は10進数51です




00110100は10進数52です




00110101は10進数53です




00110110は10進数54です




00110111は10進数55です




00111000は10進数56です




00111001は10進数57です




00111010は10進数58です




00111011は10進数59です




00111100は10進数60です




00111101は10進数61です




00111110は10進数62です




00111111は10進数63です




01000000は10進数64です




01000001は10進数65です




01000010は10進数66です




01000011は10進数67です




01000100は10進数68です




01000101は10進数69です




01000110は10進数70です




01000111は10進数71です




01001000は10進数72です




01001001は10進数73です




01001010は10進数74です




01001011は10進数75です




01001100は10進数76です




01001101は10進数77です




01001110は10進数78です




01001111は10進数79です




01010000は10進数80です




01010001は10進数81です




01010010は10進数82です




01010011は10進数83です




01010100は10進数84です




01010101は10進数85です




01010110は10進数86です




01010111は10進数87です




01011000は10進数88です




01011001は10進数89です




01011010は10進数90です




01011011は10進数91です




01011100は10進数92です




01011101は10進数93です




01011110は10進数94です




01011111は10進数95です




01100000は10進数96です




01100001は10進数97です




01100010は10進数98です




01100011は10進数99です




01100100は10進数100です




01100101は10進数101です




01100110は10進数102です




01100111は10進数103です




01101000は10進数104です




01101001は10進数105です




01101010は10進数106です




01101011は10進数107です




01101100は10進数108です




01101101は10進数109です




01101110は10進数110です




01101111は10進数111です




01110000は10進数112です




01110001は10進数113です




01110010は10進数114です




01110011は10進数115です




01110100は10進数116です




01110101は10進数117です




01110110は10進数118です




01110111は10進数119です




01111000は10進数120です




01111001は10進数121です




01111010は10進数122です




01111011は10進数123です




01111100は10進数124です




01111101は10進数125です




01111110は10進数126です




01111111は10進数127です




10000000は10進数128です




10000001は10進数129です




10000010は10進数130です




10000011は10進数131です




10000100は10進数132です




10000101は10進数133です




10000110は10進数134です




10000111は10進数135です




10001000は10進数136です




10001001は10進数137です




10001010は10進数138です




10001011は10進数139です




10001100は10進数140です




10001101は10進数141です




10001110は10進数142です




10001111は10進数143です




10010000は10進数144です




10010001は10進数145です




10010010は10進数146です




10010011は10進数147です




10010100は10進数148です




10010101は10進数149です




10010110は10進数150です




10010111は10進数151です




10011000は10進数152です




10011001は10進数153です




10011010は10進数154です




10011011は10進数155です




10011100は10進数156です




10011101は10進数157です




10011110は10進数158です




10011111は10進数159です




10100000は10進数160です




10100001は10進数161です




10100010は10進数162です




10100011は10進数163です




10100100は10進数164です




10100101は10進数165です




10100110は10進数166です




10100111は10進数167です




10101000は10進数168です




10101001は10進数169です




10101010は10進数170です




10101011は10進数171です




10101100は10進数172です




10101101は10進数173です




10101110は10進数174です




10101111は10進数175です




10110000は10進数176です




10110001は10進数177です




10110010は10進数178です




10110011は10進数179です




10110100は10進数180です




10110101は10進数181です




10110110は10進数182です




10110111は10進数183です




10111000は10進数184です




10111001は10進数185です




10111010は10進数186です




10111011は10進数187です




10111100は10進数188です




10111101は10進数189です




10111110は10進数190です




10111111は10進数191です




11000000は10進数192です




11000001は10進数193です




11000010は10進数194です




11000011は10進数195です




11000100は10進数196です




11000101は10進数197です




11000110は10進数198です




11000111は10進数199です




11001000は10進数200です




11001001は10進数201です




11001010は10進数202です




11001011は10進数203です




11001100は10進数204です




11001101は10進数205です




11001110は10進数206です




11001111は10進数207です




11010000は10進数208です




11010001は10進数209です




11010010は10進数210です




11010011は10進数211です




11010100は10進数212です




11010101は10進数213です




11010110は10進数214です




11010111は10進数215です




11011000は10進数216です




11011001は10進数217です




11011010は10進数218です




11011011は10進数219です




11011100は10進数220です




11011101は10進数221です




11011110は10進数222です




11011111は10進数223です




11100000は10進数224です




11100001は10進数225です




11100010は10進数226です




11100011は10進数227です




11100100は10進数228です




11100101は10進数229です




11100110は10進数230です




11100111は10進数231です




11101000は10進数232です




11101001は10進数233です




11101010は10進数234です




11101011は10進数235です




11101100は10進数236です




11101101は10進数237です




11101110は10進数238です




11101111は10進数239です




11110000は10進数240です




11110001は10進数241です




11110010は10進数242です




11110011は10進数243です




11110100は10進数244です




11110101は10進数245です




11110110は10進数246です




11110111は10進数247です




11111000は10進数248です




11111001は10進数249です




11111010は10進数250です




11111011は10進数251です




11111100は10進数252です




11111101は10進数253です




11111110は10進数254です




11111111は10進数255です




これらの2進数数値は

0から255までの10進数数値を表していますが

もちろん

マイナスの10数値数値を表していません。


ということは


8ビットのメモリ□□□□□□□□に


格納できる数値データは


0から255までの10進数数値であり


マイナスの10数値数値を格納することはできません。


まあ これは


もう


そうなるしかないんじゃないかな?」


マックス「ソーラーよ


8ビットのメモリ□□□□□□□□に


0から255までの10進数数値データしか


格納できないのは


そりゃ そう思うだろう


・・・・・・・



そのとおりなのだ😊


やるな」


ソーラー「え やっぱり そうなんですか


いや~ よかった よかった


はははははは~」


マックス「ははははは~ ルネッサ~ンス~」


ソーラー「これでいいんですか」


マックス「いいんじゃないか~い😊


はははははは~」


ソーラー「まあ それもそうですね」


マックス「このままだと8ビットのメモリには


0から255までの10進数数値データしか格納できない


つまり


unsigned char型の形式では


0から255までの数値データしか格納できないのだ


そこで


unsigned char型の形式のほかに


マイナスの10進数数値データを格納する


char型の形式が考え出されるのだ。



char型の形式では



01111111は10進数127です


だが


その次に大きい


10000000は10進数128でなく


10000000は10進数-128を表すことにしたのだ

そうして

10000001は10進数-127を表すことにし

10000010は10進数-126を表すことにし

10000011は10進数-125を表すことにし

11111011は10進数-5を表すことにし

11111100は10進数-4を表すことにし

11111101は10進数-3を表すことにし

11111110は10進数-2を表すことにし

11111111は10進数-1を表すことにしたのだ


char型の形式

unsigned char型の形式


では


同じ

11111111


がメモリに格納されていても


異なる数値


-1

255

が格納されることになるわけだ



ソーラー「


11111111をメモリに格納した場合

char型の形式では

11111111は10進数-1をあらわし


unsigned char型の形式では

11111111は10進数255をあらわす


とは


よく考えられていますね」








  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る