負数の10進数を16進数に変換する手順を教えてください。 関数電卓などは使わず、筆記計算でのやり方でお

プログラミング9,387閲覧

ベストアンサー

NEW! この回答はいかがでしたか? リアクションしてみよう

その他の回答(2件)

ex)-5812 ----- 5812/4096->13bit=1,余り1716 1716/1024->11bit=1,余り692 692/512->10bit=1,余り180 180/128->8bit=1,余り52 52/32->6bit=1,余り20 20/16->5bit=1,余り4 4/4->3bit=1,余り0 ------結果1011010110100->4bit単位補正,0001011010110100 ------補数1110100101001011 ------符号補正+1->1110100101001100 ------4bit分解 1110,1001,0100,1100->E94C

プログラミング上、16進数で負の数をあらわす方法はいくつも考えられますが、よく使われるのは「2の補数表現」で負数をあらわす方法です。 ビットを反転して1を足してやれば2の補数になります。 もちろん「そのような方法で負数を扱う」という約束の上でのみ成り立つ話です。 http://www.jtw.zaq.ne.jp/kayakaya/new/kihon/text/fusu.htm