>>121
雑だけど
まず今のCPUは便利なんで引き算も掛け算も割り算もコマンドで実施できるけど、
H/W的な仕組みで言うと本来足し算しか出来なくて、数値の表現も+とか-とか
存在しないんよ
なので一定のビットの塊、例えばshort型ならば16birtで数値を表現する場合、
16ビットで65535って数値まで表現できるけど、人間が-数値と認識できる表現と
して最上位ビットが立っていたら-、立っていなかったら+って決めることで
-1から-32768と0から32767を表すって決めたんだいな
決め事なんでなんでって言われても困るんだけど
で、足し算しか出来ない環境でどう引き算をするかっていうと、3から5を引くと
答えは-2なわけだけど
話を簡単にするために4ビット表現で0111が7、1111が-1、符号なしだと1111で
15ってシステムで考えると
3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分に
なるので下4ビットだけ取り出す
桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
15は1111で3を引くと1100、これは3(0011)をビット反転させるのと同じこと
この操作を補数表現といって、理屈はともかく元の数をビット反転すれば良い
15から3引いて5を足すと17(10001)ってなるけど、数値は4ビットでは15まで
しか表現できないので17から15を引くと余りが2になり余分なビットがあるので-2
あふれたビットを引く行為は16を引くことになり1多く引かなければならないので、
最初に補数に1足しておく
この補数に1足したものを2の補数というだいな
まとめると3-5が0011(3)->1100(3を補数化)+0001(2の補数にする)+0011(5)で
10010になって、下4ビットを取り出して0010、あふれた桁を最上位ビットに入れると
1010で-2になると
かえって分かりにくいか?
探検
プログラミング超初心者の質問
■ このスレッドは過去ログ倉庫に格納されています
125デフォルトの名無しさん
2021/06/04(金) 18:07:07.71ID:aBiHmFjq■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 【超絶朗報】高市早苗、月給5万円アップを突如確定させるWWWWW
- 【高市核兵器】 小泉コメ防衛大臣「民主党政権 岡田外務大臣の “非核三原則” に関する国会答弁を引き継いでいる」 政策堅持を明言 [485983549]
- するってぇと何かい?2週間前に安全を確認して輸入再開した海産物を食の安全のために輸入停止にしたってのかい?
- 【高市賃上げ】 自民党&維新の会「国会議員の給与を 月5万円アップさせる!」 今国会で歳費法改正。 月129万円→月134万円に [485983549]
- 中学生2人乗り原付と車が交差点で衝突、中学生2人とも死亡 車の運転手を逮捕 過失致死 [567637504]
