- ベストアンサー
16進数→2進数→16進数の際の符号
いつもお世話になっております。 今回は基数変換についてお聞きしたいです。 フォームに入っている16進数の文字列(12ABなど)を受け取って、それを2進数にしてビットを反転させた後に再び16進数にしたいのです。 その部分はtoStringでできそうなのですが、この場合、符号はどのようになるのでしょうか? 少しやってみた感じでは符号なしのように動いたのですが実際はどうなっているのでしょうか? 探してみましたがはっきりと書いてあるところが見当たりませんでしたので詳しい方、ご教授願います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 10進数を2進数に
10進数を2進数に変換する問題なのですが、 まったくもって理解ができません、教えて頂ければ幸いです S(符号)は1ビットで仮数の符号を表す E(指数部)は4ビットで指数を表し負数は2の補数で表現 M(仮数部)は11ビットで仮数の絶対値を表す 基数は2とする 仮数の0,2進数の少数以下第一位が1になるように、正規化された形で表す 小数点はEとMの位置にする 0の表現はー0と+0の二通りがあり特別に指数部と仮数部をすべて0にする 問.10進数の-5.25を2進数で表示しなさい 問.10進数の-0.125を2進数で表示しなさい 答えと解き方を教えて頂ければ幸いです
- 締切済み
- C・C++・C#
- 10進数を2進数にする問題について教えてください
10進数を2進数にする問題について 10進数を2進数に変換について 10進数を2進数に変換する問題なのですが、 まったくもって理解ができません、教えて頂ければ幸いです S(符号)は1ビットで仮数の符号を表す E(指数部)は4ビットで指数を表し負数は2の補数で表現 M(仮数部)は11ビットで仮数の絶対値を表す 基数は2とする 仮数の0,2進数の少数以下第一位が1になるように、正規化された形で表す 小数点はEとMの位置にする 0の表現はー0と+0の二通りがあり特別に指数部と仮数部をすべて0にする 問.10進数の5.25を2進数で表示しなさい 問.10進数の0.125を2進数で表示しなさい 答えと解き方を教えて頂ければ幸いです
- 締切済み
- C・C++・C#
- サンプリング周波数と符号化ビット数の問題について
デジタル化されたオーディオ信号のことについて教えてください。 PCM化されたオーディオ信号では、サンプリング周波数として、48キロ、96キロ、192キロ、と3種類、そして、符号化のやり方として、16ビット、24ビット、32ビット、とこれも3種類あると聞いていますが、このような多種多様なデジタル信号をアナログに変換するにあたって、DAコンバーターが48キロまでのサンプリング信号しか対応しないという仕様の場合、もし、96キロとか192キロサンプリングのオーディオ信号が来た場合、無事にDA変換ができるのでしょうか? 同様に16ビット符号化までの信号しか対応しないDAコンバーターの場合、24ビットとか32ビット符号化のオーディオ信号が入ってきた場合、うまくDA変換してくれるのでしょうか? 実際のDAコンバーターでは、このような多種類のPCM信号入力に対して、どうやって処理されているのでしょうか? 入力してきた信号に対して、サンプリング周波数や符号化ビット数などの情報は、そこから自動的に検出できるようになっているのでしょうか?
- 締切済み
- オーディオ
- 数字文字列をパック10進数に変換するにはどうしたらいいのでしょうか?
"1234567"という文字列を パック10進数に変換したいのですが、 どのようにしたら良いのでしょうか? まず左に4bitシフトさせてから符号部分の4bitを うまく取り除ければ出来ると思うのですが、どう実装したら良いか分かりません。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 2進数について
16進数のEOOOと1000を16ビットの符号付きと符号なしの2進数で計算するとき E000を符号なしでの2進数にすると(1110 0000 0000 0000)になり 符号付きにすると(0010 0000 0000 0000)になります。 これを10進数に直すと先頭の00を考えないとき-8192になり 00を考えた場合8192になるのでこれはどっちがあっているのか と思って質問しまた。 また1000を2進数にすると 符号なしでは(0001 0000 0000 0000)になり 符号付きでは(1111 0000 0000 0000)になるというやり方でいいのですか? それとも000は考えないで(1 0000 0000 0000)で計算したほうがいいのでしょうか? わかるかた教えてください お願いします。
- 締切済み
- その他([技術者向] コンピューター)
- 3進数を10進数に変換
3進数や5進数のように2の階乗ではない任意の進数の文字列を、C言語のビットシフトを使って10進数に変換するプログラムについて、質問させていただきます。 ビットシフトを使わないで、任意の進数の文字列を10進数に変換する方法は分かっていますが、ビットシフトを使った方が非常に計算が高速で出来るので、ビットシフトを使いたいと思っています。 下記のプログラムは4進文字列を10進整数に変換するものです。2進、8進文字列の場合は、シフトするビット数を1ビット、3ビット(つまり、ans <<= 1、ans <<= 3)にすれば計算することが可能です。しかし、3進数や5進数の場合、いろいろと考えたのですが、どのようにすれば良いのか分かりません。 下記のプログラムのようにビットシフトを使って3進数や5進数の文字列を10進数に変換するには、どのように工夫すれば良いでしょうか? どなたかご教授をお願いいたします。 #define STRING_NUM 2 /* 文字列の長さ */ int main(void) { int i; int ans = 0; /* 10進数の整数 */ char buf[STRING_NUM]; /* 4進数の文字列 */ buf[0] = '3'; buf[1] = '1'; for ( i = 0 ; i < STRING_NUM; i++ ){ printf(" %c", buf[i]); } printf("\n"); for ( i = 0 ; i < STRING_NUM; i++ ){ if ( buf[i] == '0' ){ ans <<= 2; /* シフトするビット数 */ ans |= 0; } if ( buf[i] == '1' ){ ans <<= 2; ans |= 1; } if ( buf[i] == '2' ){ ans <<= 2; ans |= 2; } if ( buf[i] == '3' ){ ans <<= 2; ans |= 3; } } printf( "ans = %d\n", ans ); return 0; }
- ベストアンサー
- C・C++・C#
- 固定小数点、符号ビットを用いた方法
固定小数点、符号ビットを用いた方法 -0.1234や-12.3456などの10進数を2進数に変換する場合、固定小数点、符号ビットをどのように設定してよいのかわかりません。
- 締切済み
- C・C++・C#
- 10進数(+-)→2進数への変換(2)
先ほど、ご質問させて頂きました者です、詳細にご説明させて頂きます (1)10進数:-16072 → 2進数:1100 0001 0011 1000 補足:2進数の16bit目の「1」は符号ビット「ー」 (2)10進数:+16072 → 2進数:0011 1110 1100 1000 補足:2進数の16bit目の「0」は符号ビット「+」 補足:10進数の値の範囲は 2進数で 符号1bitを含む16bitの値の範囲です と変換できるVB関数をご教示ください 宜しくお願いいたします
- ベストアンサー
- Visual Basic