
コマンドライン引数から10進数の値を入力して
2進数に変換して出力しようとしています。
※入力される10進数の値はかなり大きなものを想定しています。
現在は下記のようなコードで変換しようとしていますが失敗しています。
動作環境は『WindowsXP、Activeperl-5.12.4.1205』です。
拙い説明ですが、よろしくお願いいたします。
# コマンドライン引数は「9223372036854775808」
$n = unpack("B8", pack("C", $ARGV[0]));
print n;
# 実行結果は「11111111」
# 期待している出力結果は「1000・・・000」(←0が64個)
9223372036854775808
No.2ベストアンサー
- 回答日時:
桁あふれをおこしているようですから、自力で書き換えるしかないかと思います。
サンプルの数字は、16進数では 0x8000_0000_0000_0000 ですから、
0 の数は 63、1を含めて 64 桁ですね。
#! perl %~f1 9223372036854775808
our $decimal = shift;
print $decimal, "\n";
my $dec = $decimal;
my @bin = ();
while ($dec > 0) {
unshift (@bin, sprintf("%d",($dec % 2)));
$dec = int($dec / 2);
}
print "0b", join('', @bin), "\n";
No.3
- 回答日時:
No.1さんがおっしゃるようにbigintでいいんじゃないでしょうか?
use bigint;
my $n = 0 + $ARGV[0];
print substr $n->as_bin, 2;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- Ruby プログラミング 3 2023/06/09 14:30
- 工学 疑似乱数生成器 3 2023/01/05 02:06
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
画面上再読み込みをさせたいの...
-
pythonの この問題が分かりませ...
-
【至急!!!】python言語で本を見...
-
Pythonでコンソールをクリアす...
-
I2C接続のLCDディスプレイを使う
-
16進の10進変換について
-
関数「exists」と「defined」の...
-
全然分からず困っています。習...
-
UWSCのSELECT文の記述方法
-
pythonを使ったプログラミング...
-
PerlのDate::Simpleが動かない?
-
CGIでimgタグでalignを使うとエ...
-
JSONで文字列が長い時
-
検索するには?
-
MSXMLでの属性の存在確認法
-
arduino の割り込み処理について
-
構造体の各データの表示につい...
-
Application.ScreenUpdating = ...
-
リストの項目を表示のみで、選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
16進の10進変換について
-
Pythonでコンソールをクリアす...
-
【至急!!!】python言語で本を見...
-
c言語 16進数の2進数への変換
-
関数「exists」と「defined」の...
-
変数名に変数を使用
-
変数の中は文字列か数値か調べ...
-
eval文中の+
-
ソケットでのデータ送受信につ...
-
awk の int()に関数について
-
アカウントプログラムについて
-
I2C接続のLCDディスプレイを使う
-
ダブルクォーテーションの中に...
-
動的ハッシュを作って取り出し...
-
PerlのDate::Simpleが動かない?
-
pythonで演算子を変数に代入す...
-
python'高階関数'について
-
「HSP」でキャラコードを使って...
-
pythonで改行を含めてfindする方法
おすすめ情報