大抵の言語では数値の(ディスプレイへの)出力において、
8進数・10進数・16進数で表示できますが
2進数での数値の出力は対応していないと思います。
そこで、2進数表現での一桁を16進数で表すことにしました。
8bitの2進数を32bitの16進数で表すわけです。
例:x=0xAC → 0x10101100
(((x&0x80)<<21)|((x&0x40)<<18)|
((x&0x20)<<15)|((x&0x10)<<12)|
((x&0x08)<<9)|((x&0x04)<<6)|
((x&0x02)<<3)|(x&0x01))
ここで質問なのですが、
10進表現での1桁を4桁の2進数で表したものが、「2進化10進数」
では、上記のような表現方法は「16進化2進数」と呼んでも差し支えないのでしょうか?
英語だとHexadecimal-coded binary "HCB"でしょうか?
呼び名に誤りがあれば、なんと呼んだらしっくりくるでしょう?
No.7ベストアンサー
- 回答日時:
う~ん, 「16進数で表す」というのが, ちょっと曖昧なんですよね....
最初に書いたことと関連するんですが, 例えば 2進数の 10110110 を B6 とするのも「2進数を 16進数で表す」と言えますよね. ですが, これは明らかに期待する動作ではありません. ということで, 「16進数」という表現は避けた方がいいかなぁと思いまして....
そう考えたときに, ちょうど「4ビット = 1ニブル」という表現があるので, こっちを使った方が安全ではないかと判断しました.
回答ありがとうございます。
そうですよね。
そもそも、「16進数で・・・」というのが質問の意図及び呼び方に関して多くの誤解を与えてる気がします。
ご指摘の通りです。
1ビットを1ニブルで表現する。と言えば誤解を招くような事は無いと思います。
このような分かりにくい質問にお付き合いくださり大変感謝しております。
あらためて、お礼申し上げます。
ありがとうございました。
No.5
- 回答日時:
あぁ, 計算式については完全に私の勘違いです. 申し訳ありません.
ただ, この処理って必要なのかなぁ? 「16進で表現できればその時点で十分」じゃないのかな?
この回答への補足
上手く説明できるか分かりませんが
実用性はあまりないです。
ただ、勉強用に使ったり確認用に使ったりします。
例えばアセンブリのコードが機械語に変換されたときに
どのビットが何を表しているのかを視覚的に捕らえる場合や
複雑なビット演算をした場合にビットの変化を目で追って理解したい場合
2色BITMAPやフォントのグリフなんかをコンソールで表示したり
バイト単位で意味のあるデータではなくビット単位で意味を持つデータの確認のために使います。
No.4
- 回答日時:
世界で、現在も使い続けられているCOBOLでは、
「PIC 1(n)」
というデータ型があります。
「PIC 1(8) BIT」なら、8ビットのことです。
「PIC 1(8)」なら8バイトで、2進数の1桁を1バイトで表します。
No.3
- 回答日時:
数値を二進記数法で出力する関数とかなら
大抵の言語で簡単に作れるだろうから、
わざわざそういう形式を経由する必要性は感じないですね。
手間が余計に掛かるだけですし、何か工夫しないと表現できるビット数が1/4になってしまうし。
でも、数値リテラルを二進記数法で書きたいと思うことならたまにあるかな。
(rubyとかだと2進整数リテラルが使える。)
この回答への補足
手間でしょうか?
マクロにして、ちょこっと2進数で表示して見たいとき簡単に使えますよ。
#define nantoka(x) ・・・
printf("%.8X\n", nantoka(0xAC));
out>10101100
loopも関数も使わない一番手軽な方法だと思ってます。
出力系の関数にも簡単に渡せますしね。
で、呼び名が欲しいのですよ。
No.2
- 回答日時:
たぶん, あまり顧みられる方法ではないので名前自体存在しないと思います. だから極論すれば「言った者勝ち」でしょう. 「ここでは Hexadecimal-coded binary と呼ぶんだ」といってしまえば勝ち. まあ, 16進数と 2進数は「同じもの」だという指摘を受けるかもしれませんが.
「しっくりくる呼び方」という点では, 「各ビットを 1ニブルであらわした」というとしっくりくるけど, 全然スマートじゃないし....
なお, この式が間違っていることは実際に確かめればわかります. もっと言うとシフト量が間違ってます.
解答ありがとうございます。
名前自体ないのは重々承知しています。
ただ、言葉で説明するとなると長ったらしくなり
上手い表現が浮かばないのです。
2進表現で表示する方法、だけだと説明不足ですし
16進数を使って・・・などというと仰るとおり16進数と2進数は同じものなのでなんとも表しにくいわけです。
自分だけが分かるように名前をつければいいのでしょうけれど、暫くたつと何のコードだか分からなくなりそうなので、名前が欲しいのです。
式が間違っているとの指摘ですが・・・ちゃんと紙に書いてやってみましたよ。
実際にやっても間違いはありませんし。
No.1
- 回答日時:
そのようなことをする必要性が思いつかなかった....
BCD には「2進数や 16進数は直感的に 10進数として考えるのが難しい」という点で存在意義があるけど, 「16進数で書いてあるものを 2進数で読み直すのは簡単」なんだから, こんなことをする理由が良く分からないです.
ところで, その変換式は間違ってますね.
この回答への補足
必要性といわれれば、単純にディスプレイに2進数を描画したい。
と、云う事のみであって他に使い道はありません。
2色のBITMAPを0と1で出力したり、ビット演算の結果の確認をしたり、
といったような使い方をします。
仰るとおり「10進数を2進数で読み直すのは簡単」ですが、
より視覚的に表現したいと思っただけです。
変換式が間違っているとはどういうことなのかわかりません。
上位のビットから論理積で取った値をシフトしてるだけです。
と、云った事は本当はどうでも良くて、呼び名に間違いがあるのかどうか、間違っているならなんと呼んだらしっくりくるのかと云うのが知りたいだけでして。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 情報処理技術者・Microsoft認定資格 2進数の問題を教えてください。 1 2022/07/27 09:42
- 高校受験 英語の偏差値が上がるきっかけ 6 2023/06/29 02:00
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 大学受験 推薦入試について教えていただきたいことがあります。 私は、この春高校三年生になります。進路について考 1 2022/04/05 02:04
- その他(データベース) 4進数風なバーコードは何ですか? 2 2022/11/28 23:33
- C言語・C++・C# C++言語の16進数の表現についておしえてください 1 2022/11/14 17:46
- 数学 以下を10進数の小数で表すことを考える . . (0.101)2進数 小数部分の数値を答えよ。 循環 4 2022/05/22 15:09
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
cout と cerrの違い
-
VBAのExecメソッドで画面を非表...
-
CRC16計算について
-
プログラムについての質問です...
-
テキストファイルから特定の文...
-
ListViewの複数選択について
-
エクセルで英字と数字を組み合...
-
【PowerPoint VBAの高速化】
-
VBAでPowerPointからExcelにレ...
-
C#でアクセス権限の取得方法が...
-
VB6で 先頭00をつけたいです...
-
VBAで有効数字の設定
-
バッチファイル フォルダサイ...
-
ExcelマクロでIEのHP上のダウン...
-
アクセスでエクセルに出力する...
-
VBAでテキスト出力時のスペース...
-
AIに回答させるって
-
VBでステッピングモーターを動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
MMDでavi出力が出来ない
-
COBOLのMOVEで桁数が異なる場合
-
cout と cerrの違い
-
printfとputcharの違いは
-
アクセスでエクセルに出力する...
-
VBAのExecメソッドで画面を非表...
-
スマホのバッテリー消費につい...
-
Windows Formアプリからコンソ...
-
ACCESS クエリ→フォーム...
-
コンセントの電力は入力と出力...
-
Accessのテーブルからcsv出力す...
-
Excel VBAで値を変えながら、pd...
-
無線とかアンテナに関しの質問...
-
ListViewの複数選択について
-
KEYENCEのシーケンスプログラム...
-
センサーのタンパー出力について
-
VBAでテキスト出力時のスペース...
おすすめ情報