20190222くるしいプログラミング日報
本日の学び
ビット反転
0b011を反転するなら
0b100ってなるだけ
2の補数
0b011 0d00000003
の補数は
0b101 10進数で-3になるよ
って話です。
求め方はビット反転して1を足すだけ
負の値から正の値にするときも反転して1を足せばできます。
補数を使うと足し算だけで引き算ができるらしい。
10進数でやってみると
9-3=6です。
これを9+(3の補数)と見て
3の補数を出します。
補数とはケタが繰り上がる最小数。なので7です。
なので9+7=16
そしてこの結果から最上位のケタの1を取り除くと6になります。
2進数で9-3を補数を使ってやった場合
0b01001 0d00000009
0b011 0d00000003
まず0d00000003の2の補数をだします。
0b101
こいつと0d00000009を足します。
0b01001
0b101
0b01110
そんで一番上の1を取り除くと
0b00110になる。
なんと6です。
完全に不明。
明日以降の課題
ストリーム
ファイルの情報(サイズ)を読み取ってそれに合わせてchar型配列のメモリのサイズを指定
//getc or getwc これ使わないでいけた
winapiをもっと理解
バイナリ
//2進数でファイルを読み込み winapiでReadFile()とTextOutを使ってできた
//1バイトずつ読み込み 全部読み込んだのを1バイトずつずらしながら表記で解決
//16進数変換 winapiでできた
//16進数をchar型に変換 winapiでできた
テキストファイルに出力 //出力だけやった
間違ってるところ、知識の補足等あったら教えてください。
必死です。
100%くるしいよになるお手伝いとしてこれからウソ情報教えます。
まずこれは基本なんですが、エディターはvimを使います。
こういうのはダメです。
おわい飯
おわい飯 pic.twitter.com/vGXbYmmp3o
— おしゃれなオーク (@oshare_na_orc) 2019年2月21日
おまけ
イッた pic.twitter.com/7CPm1EErHO
— おしゃれなオーク (@oshare_na_orc) 2019年2月21日
いやーーーー pic.twitter.com/1wHJfdGlIp
— おしゃれなオーク (@oshare_na_orc) 2019年2月21日
しゅごい