
コマンドライン引数から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でコンソールをクリアす...
-
FORM ACTION~POST使用時について
-
lispについて。lspファイルの読...
-
substrの文字列の境界の動作に...
-
画面上再読み込みをさせたいの...
-
qq!!の意味を教えてください。
-
python超初心者です(3時間目)。...
-
Perlで、経過をLoading画面みた...
-
数値英単語変換
-
ロジック・・・ プログラミング
-
submitでのデータの受け渡しに...
-
ユーザ入力が表示されない原因...
-
16進の10進変換について
-
関数「exists」と「defined」の...
-
Python3
-
変数の中は文字列か数値か調べ...
-
JSONで文字列が長い時
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
パイソンのクラスについて
-
【至急!!!】python言語で本を見...
-
シェルスクリプトで、空白(ス...
-
I2C接続のLCDディスプレイを使う
-
awkの正規表現での最左最短マッ...
-
awk の int()に関数について
-
UWSCのSELECT文の記述方法
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
関数「exists」と「defined」の...
-
正規表現<置き換え>が実行して...
-
変数の中は文字列か数値か調べ...
-
レコード取得件数の表示位置に...
-
ソケットでのデータ送受信につ...
-
$x=''とした場合と$x=0とした場...
-
シェルスクリプト+perl
-
[Ruby] irbにおける文字化け
-
Perlにおける<?phpinfo();?>の...
-
フォームの内容を確認画面で表示
おすすめ情報