SSブログ
English Version

BASICでのhex文字toバイナリ変換テクニック [その他]

 twitterのTLにBASICで16進文字を2進数4文字へ変換するテクニックとして

P=INSTR("36DA5B7FEC924801", H$)
B$=MID$("0011010111100100001", P, 4)

という手法が懐かしさを込めて紹介されていました。

 更に、awkを使って検証した結果も紹介されていました。ブログへのツイートの埋め込みは著作権上問題が無いようなので判り易いように該当ツイートを貼らさせて頂きます
★変更 2021/10/06
 ツイート埋め込みではなくリンクに変更

https://twitter.com/houmei/status/1444776993673957382

 このような探索系の問題は興味をそそられますね。
 少し考えてみると 0..F の16個の文字の順列問題のように思えます。perlであればMath::Combinatoricsを使えば順列問題を解けますが、並べる初期段階でも今回の問題の答えとして大丈夫なのかチェックすることで探索範囲を枝刈りするために再起呼び出しにより自前で順列処理するようにしました。

 作成したperlのソースは下記になります。Search()内でデータチェックしつつ再起呼び出しで順列を作っています。

変換用データ生成プログラム(perl)
#!/usr/bin/perl # Generator of the datas to convert hex char to binary in BASIC # P=INSTR("36DA5B7FEC924801", H$) # B$=MID$("0011010111100100001", P, 4) # Ver 0.03c 2021/10/08 correct MaxLen:15 err, time: 4.7sec # Ver 0.03b 2021/10/07 faster a little. run time 5.4sec -> 4.6sec(case of 32->2) # Ver 0.03a 2021/10/06 optimise. run time 22.1sec -> 5.4sec(case of 32->2) # Ver 0.02 2021/10/05 enable set base number of source and dist # Ver 0.01 2021/10/04 by skyriver use strict; use warnings; my $MaxLen = 16; # src base number( ex 16:hex, 8:octal) my $BaseLen = 2; # dst base number( ex. 2:binary 8:octal) my $MaxBidx; my $AnsCnt = 0; my @Hex; my @Bin; my @BinTail; my @Next; my @Until; main(); sub Conv { my ( $val ) = @_; my ( $i, $retval ); $retval = ""; for( $i = 0; $i <= $MaxBidx; $i++ ) { $retval = ($val % $BaseLen) . $retval; $val = int( $val / $BaseLen ); } return( $retval ); } sub Init { my ( $i, $max ); $MaxBidx = int( log( $MaxLen ) / log( $BaseLen ) + 0.99 ) - 1; $max = $BaseLen ** ($MaxBidx + 1); for( $i = 0; $i < $MaxLen; $i++ ) { $Hex[ $i ] = $i < 16 ? sprintf( "%1X", $i ) : chr( $i - 10 + 0x41); $Bin[ $i ] = Conv( $i ); $BinTail[ $i ] = substr( $Bin[ $i ], $MaxBidx ); $Next[ $i ] = ($i * $BaseLen) % $max; $Until[ $i ] = $Next[ $i ] + $BaseLen < $MaxLen ? $Next[ $i ] + $BaseLen : $MaxLen; } } sub Search { my ( $idx, $str, $bstr ) = @_; my ( $i, $to ); if( length( $str ) == $MaxLen ) { printf( "No.%3d %s %s\n", ++$AnsCnt, $str, $bstr ); } else { $to = $Until[ $idx ]; for( $i = $Next[ $idx ]; $i < $to; $i++ ) { if( index( $str, $Hex[ $i ] ) == -1 ) { Search( $i, $str . $Hex[ $i ], $bstr . $BinTail[ $i ] ); } } } } sub main { my ( $i ); Init(); for( $i = 0; $i < $MaxLen; $i++ ) { Search( $i, $Hex[ $i ], $Bin[ $i ] ); } }

★変更 2021/10/06
 Ver 0.02  変換元及び変換先を変更可能とし、若干高速化したバージョンにソースを差換え
★変更 2021/10/07
 Ver 0.03a 最適化して高速化 32進数 ⇒ 2進数 の処理の実行時間が 22.1sec ⇒ 5.4sec
★変更 2021/10/08
 Ver 0.03b 若干高速化 32進数 ⇒ 2進数 の処理の実行時間が 5.4sec ⇒ 4.6sec
★変更 2021/10/08
 Ver 0.03c 15進数の場合等でエラーが発生するようになったので修正。実行時間: 4.7sec

 出力結果は下記のように256通りのデータペアが検出されました。

変換用データ生成プログラムの実行結果
No. 1 0124936DA5B7FEC8 0000100110101111000 No. 2 0124937FEDA5B6C8 0000100111101011000 No. 3 0125A4936DB7FEC8 0000101001101111000 No. 4 0125A4937FEDB6C8 0000101001111011000 No. 5 0125B6C937FEDA48 0000101100111101000 No. 6 0125B6DA4937FEC8 0000101101001111000 No. 7 0125B7FEC936DA48 0000101111001101000 No. 8 0125B7FEDA4936C8 0000101111010011000 No. 9 0136C925B7FEDA48 0000110010111101000 No. 10 0136DA4925B7FEC8 0000110100101111000 No. 11 0136DA5B7FEC9248 0000110101111001000 No. 12 0136DB7FEC925A48 0000110111100101000 No. 13 0137FEC925B6DA48 0000111100101101000 No. 14 0137FEDA4925B6C8 0000111101001011000 No. 15 0137FEDA5B6C9248 0000111101011001000 No. 16 0137FEDB6C925A48 0000111101100101000 No. 17 124936DA5B7FEC80 0001001101011110000 No. 18 124937FEDA5B6C80 0001001111010110000 No. 19 125A4936DB7FEC80 0001010011011110000 No. 20 125A4937FEDB6C80 0001010011110110000 No. 21 125B6C937FEDA480 0001011001111010000 No. 22 125B6DA4937FEC80 0001011010011110000 No. 23 125B7FEC936DA480 0001011110011010000 No. 24 125B7FEDA4936C80 0001011110100110000 No. 25 136C925B7FEDA480 0001100101111010000 No. 26 136DA4925B7FEC80 0001101001011110000 No. 27 136DA5B7FEC92480 0001101011110010000 No. 28 136DB7FEC925A480 0001101111001010000 No. 29 137FEC925B6DA480 0001111001011010000 No. 30 137FEDA4925B6C80 0001111010010110000 No. 31 137FEDA5B6C92480 0001111010110010000 No. 32 137FEDB6C925A480 0001111011001010000 No. 33 2480136DA5B7FEC9 0010000110101111001 No. 34 2480137FEDA5B6C9 0010000111101011001 No. 35 24936DA5B7FEC801 0010011010111100001 No. 36 24937FEDA5B6C801 0010011110101100001 No. 37 25A480136DB7FEC9 0010100001101111001 No. 38 25A480137FEDB6C9 0010100001111011001 No. 39 25A4936DB7FEC801 0010100110111100001 No. 40 25A4937FEDB6C801 0010100111101100001 No. 41 25B6C80137FEDA49 0010110000111101001 No. 42 25B6C937FEDA4801 0010110011110100001 No. 43 25B6DA480137FEC9 0010110100001111001 No. 44 25B6DA4937FEC801 0010110100111100001 No. 45 25B7FEC80136DA49 0010111100001101001 No. 46 25B7FEC936DA4801 0010111100110100001 No. 47 25B7FEDA480136C9 0010111101000011001 No. 48 25B7FEDA4936C801 0010111101001100001 No. 49 36C80125B7FEDA49 0011000010111101001 No. 50 36C925B7FEDA4801 0011001011110100001 No. 51 36DA480125B7FEC9 0011010000101111001 No. 52 36DA4925B7FEC801 0011010010111100001 No. 53 36DA5B7FEC801249 0011010111100001001 No. 54 36DA5B7FEC924801 0011010111100100001 No. 55 36DB7FEC80125A49 0011011110000101001 No. 56 36DB7FEC925A4801 0011011110010100001 No. 57 37FEC80125B6DA49 0011110000101101001 No. 58 37FEC925B6DA4801 0011110010110100001 No. 59 37FEDA480125B6C9 0011110100001011001 No. 60 37FEDA4925B6C801 0011110100101100001 No. 61 37FEDA5B6C801249 0011110101100001001 No. 62 37FEDA5B6C924801 0011110101100100001 No. 63 37FEDB6C80125A49 0011110110000101001 No. 64 37FEDB6C925A4801 0011110110010100001 No. 65 480125B6C937FEDA 0100001011001111010 No. 66 480125B7FEC936DA 0100001011110011010 No. 67 480136C925B7FEDA 0100001100101111010 No. 68 480136DA5B7FEC92 0100001101011110010 No. 69 480136DB7FEC925A 0100001101111001010 No. 70 480137FEC925B6DA 0100001111001011010 No. 71 480137FEDA5B6C92 0100001111010110010 No. 72 480137FEDB6C925A 0100001111011001010 No. 73 4925B6C80137FEDA 0100101100001111010 No. 74 4925B7FEC80136DA 0100101111000011010 No. 75 4936C80125B7FEDA 0100110000101111010 No. 76 4936DA5B7FEC8012 0100110101111000010 No. 77 4936DB7FEC80125A 0100110111100001010 No. 78 4937FEC80125B6DA 0100111100001011010 No. 79 4937FEDA5B6C8012 0100111101011000010 No. 80 4937FEDB6C80125A 0100111101100001010 No. 81 5A480136DB7FEC92 0101000011011110010 No. 82 5A480137FEDB6C92 0101000011110110010 No. 83 5A4936DB7FEC8012 0101001101111000010 No. 84 5A4937FEDB6C8012 0101001111011000010 No. 85 5B6C80124937FEDA 0101100001001111010 No. 86 5B6C80137FEDA492 0101100001111010010 No. 87 5B6C92480137FEDA 0101100100001111010 No. 88 5B6C937FEDA48012 0101100111101000010 No. 89 5B6DA480137FEC92 0101101000011110010 No. 90 5B6DA4937FEC8012 0101101001111000010 No. 91 5B7FEC80124936DA 0101111000010011010 No. 92 5B7FEC80136DA492 0101111000011010010 No. 93 5B7FEC92480136DA 0101111001000011010 No. 94 5B7FEC936DA48012 0101111001101000010 No. 95 5B7FEDA480136C92 0101111010000110010 No. 96 5B7FEDA4936C8012 0101111010011000010 No. 97 6C80124937FEDA5B 0110000100111101011 No. 98 6C80125A4937FEDB 0110000101001111011 No. 99 6C80125B7FEDA493 0110000101111010011 No.100 6C80137FEDA4925B 0110000111101001011 No.101 6C92480137FEDA5B 0110010000111101011 No.102 6C925A480137FEDB 0110010100001111011 No.103 6C925B7FEDA48013 0110010111101000011 No.104 6C937FEDA480125B 0110011110100001011 No.105 6DA480125B7FEC93 0110100001011110011 No.106 6DA480137FEC925B 0110100001111001011 No.107 6DA4925B7FEC8013 0110100101111000011 No.108 6DA4937FEC80125B 0110100111100001011 No.109 6DA5B7FEC8012493 0110101111000010011 No.110 6DA5B7FEC9248013 0110101111001000011 No.111 6DB7FEC80125A493 0110111100001010011 No.112 6DB7FEC925A48013 0110111100101000011 No.113 7FEC80124936DA5B 0111100001001101011 No.114 7FEC80125A4936DB 0111100001010011011 No.115 7FEC80125B6DA493 0111100001011010011 No.116 7FEC80136DA4925B 0111100001101001011 No.117 7FEC92480136DA5B 0111100100001101011 No.118 7FEC925A480136DB 0111100101000011011 No.119 7FEC925B6DA48013 0111100101101000011 No.120 7FEC936DA480125B 0111100110100001011 No.121 7FEDA480125B6C93 0111101000010110011 No.122 7FEDA480136C925B 0111101000011001011 No.123 7FEDA4925B6C8013 0111101001011000011 No.124 7FEDA4936C80125B 0111101001100001011 No.125 7FEDA5B6C8012493 0111101011000010011 No.126 7FEDA5B6C9248013 0111101011001000011 No.127 7FEDB6C80125A493 0111101100001010011 No.128 7FEDB6C925A48013 0111101100101000011 No.129 80124936DA5B7FEC 1000010011010111100 No.130 80124937FEDA5B6C 1000010011110101100 No.131 80125A4936DB7FEC 1000010100110111100 No.132 80125A4937FEDB6C 1000010100111101100 No.133 80125B6C937FEDA4 1000010110011110100 No.134 80125B6DA4937FEC 1000010110100111100 No.135 80125B7FEC936DA4 1000010111100110100 No.136 80125B7FEDA4936C 1000010111101001100 No.137 80136C925B7FEDA4 1000011001011110100 No.138 80136DA4925B7FEC 1000011010010111100 No.139 80136DA5B7FEC924 1000011010111100100 No.140 80136DB7FEC925A4 1000011011110010100 No.141 80137FEC925B6DA4 1000011110010110100 No.142 80137FEDA4925B6C 1000011110100101100 No.143 80137FEDA5B6C924 1000011110101100100 No.144 80137FEDB6C925A4 1000011110110010100 No.145 92480136DA5B7FEC 1001000011010111100 No.146 92480137FEDA5B6C 1001000011110101100 No.147 925A480136DB7FEC 1001010000110111100 No.148 925A480137FEDB6C 1001010000111101100 No.149 925B6C80137FEDA4 1001011000011110100 No.150 925B6DA480137FEC 1001011010000111100 No.151 925B7FEC80136DA4 1001011110000110100 No.152 925B7FEDA480136C 1001011110100001100 No.153 936C80125B7FEDA4 1001100001011110100 No.154 936DA480125B7FEC 1001101000010111100 No.155 936DA5B7FEC80124 1001101011110000100 No.156 936DB7FEC80125A4 1001101111000010100 No.157 937FEC80125B6DA4 1001111000010110100 No.158 937FEDA480125B6C 1001111010000101100 No.159 937FEDA5B6C80124 1001111010110000100 No.160 937FEDB6C80125A4 1001111011000010100 No.161 A480125B6C937FED 1010000101100111101 No.162 A480125B7FEC936D 1010000101111001101 No.163 A480136C925B7FED 1010000110010111101 No.164 A480136DB7FEC925 1010000110111100101 No.165 A480137FEC925B6D 1010000111100101101 No.166 A480137FEDB6C925 1010000111101100101 No.167 A4925B6C80137FED 1010010110000111101 No.168 A4925B7FEC80136D 1010010111100001101 No.169 A4936C80125B7FED 1010011000010111101 No.170 A4936DB7FEC80125 1010011011110000101 No.171 A4937FEC80125B6D 1010011110000101101 No.172 A4937FEDB6C80125 1010011110110000101 No.173 A5B6C80124937FED 1010110000100111101 No.174 A5B6C92480137FED 1010110010000111101 No.175 A5B7FEC80124936D 1010111100001001101 No.176 A5B7FEC92480136D 1010111100100001101 No.177 B6C80124937FEDA5 1011000010011110101 No.178 B6C80125A4937FED 1011000010100111101 No.179 B6C80137FEDA4925 1011000011110100101 No.180 B6C92480137FEDA5 1011001000011110101 No.181 B6C925A480137FED 1011001010000111101 No.182 B6C937FEDA480125 1011001111010000101 No.183 B6DA480137FEC925 1011010000111100101 No.184 B6DA4937FEC80125 1011010011110000101 No.185 B7FEC80124936DA5 1011110000100110101 No.186 B7FEC80125A4936D 1011110000101001101 No.187 B7FEC80136DA4925 1011110000110100101 No.188 B7FEC92480136DA5 1011110010000110101 No.189 B7FEC925A480136D 1011110010100001101 No.190 B7FEC936DA480125 1011110011010000101 No.191 B7FEDA480136C925 1011110100001100101 No.192 B7FEDA4936C80125 1011110100110000101 No.193 C80124936DA5B7FE 1100001001101011110 No.194 C80124937FEDA5B6 1100001001111010110 No.195 C80125A4936DB7FE 1100001010011011110 No.196 C80125A4937FEDB6 1100001010011110110 No.197 C80125B6DA4937FE 1100001011010011110 No.198 C80125B7FEDA4936 1100001011110100110 No.199 C80136DA4925B7FE 1100001101001011110 No.200 C80137FEDA4925B6 1100001111010010110 No.201 C92480136DA5B7FE 1100100001101011110 No.202 C92480137FEDA5B6 1100100001111010110 No.203 C925A480136DB7FE 1100101000011011110 No.204 C925A480137FEDB6 1100101000011110110 No.205 C925B6DA480137FE 1100101101000011110 No.206 C925B7FEDA480136 1100101111010000110 No.207 C936DA480125B7FE 1100110100001011110 No.208 C937FEDA480125B6 1100111101000010110 No.209 DA480125B6C937FE 1101000010110011110 No.210 DA480125B7FEC936 1101000010111100110 No.211 DA480136C925B7FE 1101000011001011110 No.212 DA480137FEC925B6 1101000011110010110 No.213 DA4925B6C80137FE 1101001011000011110 No.214 DA4925B7FEC80136 1101001011110000110 No.215 DA4936C80125B7FE 1101001100001011110 No.216 DA4937FEC80125B6 1101001111000010110 No.217 DA5B6C80124937FE 1101011000010011110 No.218 DA5B6C92480137FE 1101011001000011110 No.219 DA5B7FEC80124936 1101011110000100110 No.220 DA5B7FEC92480136 1101011110010000110 No.221 DB6C80125A4937FE 1101100001010011110 No.222 DB6C925A480137FE 1101100101000011110 No.223 DB7FEC80125A4936 1101111000010100110 No.224 DB7FEC925A480136 1101111001010000110 No.225 EC80124936DA5B7F 1110000100110101111 No.226 EC80125A4936DB7F 1110000101001101111 No.227 EC80125B6DA4937F 1110000101101001111 No.228 EC80136DA4925B7F 1110000110100101111 No.229 EC92480136DA5B7F 1110010000110101111 No.230 EC925A480136DB7F 1110010100001101111 No.231 EC925B6DA480137F 1110010110100001111 No.232 EC936DA480125B7F 1110011010000101111 No.233 EDA480125B6C937F 1110100001011001111 No.234 EDA480136C925B7F 1110100001100101111 No.235 EDA4925B6C80137F 1110100101100001111 No.236 EDA4936C80125B7F 1110100110000101111 No.237 EDA5B6C80124937F 1110101100001001111 No.238 EDA5B6C92480137F 1110101100100001111 No.239 EDB6C80125A4937F 1110110000101001111 No.240 EDB6C925A480137F 1110110010100001111 No.241 FEC80124936DA5B7 1111000010011010111 No.242 FEC80125A4936DB7 1111000010100110111 No.243 FEC80125B6DA4937 1111000010110100111 No.244 FEC80136DA4925B7 1111000011010010111 No.245 FEC92480136DA5B7 1111001000011010111 No.246 FEC925A480136DB7 1111001010000110111 No.247 FEC925B6DA480137 1111001011010000111 No.248 FEC936DA480125B7 1111001101000010111 No.249 FEDA480125B6C937 1111010000101100111 No.250 FEDA480136C925B7 1111010000110010111 No.251 FEDA4925B6C80137 1111010010110000111 No.252 FEDA4936C80125B7 1111010011000010111 No.253 FEDA5B6C80124937 1111010110000100111 No.254 FEDA5B6C92480137 1111010110010000111 No.255 FEDB6C80125A4937 1111011000010100111 No.256 FEDB6C925A480137 1111011001010000111


 因みに上記ソースの$MaxLenを16から8に変更すると下記のような8進数用の変換データが出力されます。

8進数の変換用データの出力結果
No. 1 01253764 0001011100 No. 2 01376524 0001110100 No. 3 12537640 0010111000 No. 4 13765240 0011101000 No. 5 24013765 0100011101 No. 6 25376401 0101110001 No. 7 37640125 0111000101 No. 8 37652401 0111010001 No. 9 40125376 1000101110 No. 10 40137652 1000111010 No. 11 52401376 1010001110 No. 12 53764012 1011100010 No. 13 64012537 1100010111 No. 14 65240137 1101000111 No. 15 76401253 1110001011 No. 16 76524013 1110100011


★追記 2021/10/04
 $MaxLenを4に変更して調べてみると下記のように4通りのデータペアが検出されました。
 このことからN進数のバイナリ変換用データペア数は 2^(N/2) と推測されますが、これを証明するのはかなり難しいと思われます。
 数学での新たな難問として「N進数バイナリ変換データペア数予想」を提案させていただきますw

4進数の変換用データの出力結果
No. 1 0132 00110 No. 2 1320 01100 No. 3 2013 10011 No. 4 3201 11001


★追記 2021/10/05
 32進数の場合について確かめてみました。16以降の表現は16進数を踏襲して'G'から'V'までのアルファベットを割り振っています。
 「N進数バイナリ変換データペア数予想」では 65536(=2^(32/2) 通りのデータペアがあるはずですが結果は下記の通り、予想と一致していました。

32進数の変換用データの出力結果
No. 1 01248H36CPI5AK9J7ETQLBMDRNFVUSOG 000001000110010100111010110111110000 No. 2 01248H36CPI5AK9J7ETRMDQLBNFVUSOG 000001000110010100111011010111110000 No. 3 01248H36CPI5AK9J7FVUTQLBMDRNESOG 000001000110010100111110101101110000 No. 4 01248H36CPI5AK9J7FVUTRMDQLBNESOG 000001000110010100111110110101110000 No. 5 01248H36CPI5ALBMDQK9J7ETRNFVUSOG 000001000110010101101001110111110000 No. 6 01248H36CPI5ALBMDQK9J7FVUTRNESOG 000001000110010101101001111101110000 No. 7 01248H36CPI5ALBMDRNETQK9J7FVUSOG 000001000110010101101110100111110000 No. 8 01248H36CPI5ALBMDRNFVUTQK9J7ESOG 000001000110010101101111101001110000   ・   ・   ・ No.65529 VUTRNESPJ6DQLAK9I48G0125BMCOH37F 111110111001101010010000010110001111 No.65530 VUTRNESPJ6DQLAK9I48H25BMCOG0137F 111110111001101010010001011000001111 No.65531 VUTRNESPJ6DQLAK9I5BMCOG01248H37F 111110111001101010010110000010001111 No.65532 VUTRNESPJ6DQLAK9I5BMCOH248G0137F 111110111001101010010110001000001111 No.65533 VUTRNESPJ6DQLBMCOG01249I5AK8H37F 111110111001101011000001001010001111 No.65534 VUTRNESPJ6DQLBMCOG0125AK9I48H37F 111110111001101011000001010010001111 No.65535 VUTRNESPJ6DQLBMCOH249I5AK8G0137F 111110111001101011000100101000001111 No.65536 VUTRNESPJ6DQLBMCOH25AK9I48G0137F 111110111001101011000101001000001111


★追記 2021/10/05
 今まで変換先を2進数とした場合についてのみ考えてきましたがM進数への変換を考えてみました。
 4進数から4進数への変換を検証すると下記のように24通りのデータペアが出力されました。よく見てみると(考えて見れば当然ですが)0..3の4文字の順列になっていることが判ります。

4進数から4進数への変換用データの出力結果
No. 1 0123 0123 No. 2 0132 0132 No. 3 0213 0213 No. 4 0231 0231 No. 5 0312 0312 No. 6 0321 0321 No. 7 1023 1023 No. 8 1032 1032 No. 9 1203 1203 No. 10 1230 1230 No. 11 1302 1302 No. 12 1320 1320 No. 13 2013 2013 No. 14 2031 2031 No. 15 2103 2103 No. 16 2130 2130 No. 17 2301 2301 No. 18 2310 2310 No. 19 3012 3012 No. 20 3021 3021 No. 21 3102 3102 No. 22 3120 3120 No. 23 3201 3201 No. 24 3210 3210


 同様に16進数から4進数への変換の場合の検証結果も貼っておきます。データベア数は

   331776 = (2^12)*(3^4)

になっています。一見すると不思議な数字ですが、先に書いた4進数から4進数への変換は4文字の順列であったことを加味して考えると、規則性が見えてきます。

 つまり、変換データペア数の算出には順列計算(階乗)が関連していて、N進数からM進数への変換の場合の変換データペア数は

   ( M! ) ^ ( N / M )

となり、更に一般化した「N進数からM進数への変換データペア数予想」へ展開できました。最初の頃は予想の式内に '2' というマジックナンバーが何故でてくるのか気になっていましたが、今回の一般化でマジックナンバーはなくなり、簡潔で美しい式になりました。

16進数から4進数への変換用データの出力結果
No. 1 014283D5697EABFC 00102031121322330 No. 2 014283D5697FEABC 00102031121332230 No. 3 014283D56A97EBFC 00102031122132330 No. 4 014283D56A97FEBC 00102031122133230 No. 5 014283D56ABE97FC 00102031122321330 No. 6 014283D56ABFE97C 00102031122332130 No. 7 014283D56BEA97FC 00102031123221330 No. 8 014283D56BFEA97C 00102031123322130   ・   ・   ・ No.331769 FEBD7C2A94015683 33231302210011203 No.331770 FEBD7C2A94156803 33231302210112003 No.331771 FEBD7C2A95401683 33231302211001203 No.331772 FEBD7C2A95416803 33231302211012003 No.331773 FEBD7C2A95680143 33231302211200103 No.331774 FEBD7C2A95681403 33231302211201003 No.331775 FEBD7C2A96801543 33231302212001103 No.331776 FEBD7C2A96815403 33231302212011003


★追記 2021/10/05
 素因数分解はWindowsの電卓を使って手作業でやっていましたがweb上で高速に素因数分解できるサイトがあったのでリンクを貼っておきます。


★追記 2021/10/06
 9進数から3進数への変換の場合のデータペア数を確認してみた結果を下記に示します。
 予想通り 216 = ( 3! ) ^ ( 9 / 3 ) でした。

 また、10進数から2進数や6進数から3進数への変換の場合は解がありませんでした。変換元の最大値を変換先進数に変換後、+1すると桁数が増える場合、つまり
    N=M^L L:自然数
の時だけ解がある本予想が成立するものと推測されます。★訂正 2021/10/06

9進数から3進数への変換用データの出力結果
No. 1 013274586 0010211220 No. 2 013287456 0010221120 No. 3 014327586 0011021220 No. 4 014328756 0011022120 No. 5 014562873 0011202210 No. 6 014573286 0011210220 No. 7 014586273 0011220210 No. 8 014587326 0011221020 No. 9 015628743 0012022110 No. 10 015743286 0012110220 No. 11 015862743 0012202110 No. 12 015874326 0012211020 No. 13 026145873 0020112210 No. 14 026158743 0020122110 No. 15 027314586 0021011220 No. 16 027431586 0021101220 No. 17 027458613 0021122010 No. 18 027586143 0021220110 No. 19 028614573 0022011210 No. 20 028615743 0022012110 No. 21 028731456 0022101120 No. 22 028743156 0022110120 No. 23 028745613 0022112010 No. 24 028756143 0022120110 No. 25 130274586 0100211220 No. 26 130287456 0100221120 No. 27 132745860 0102112200 No. 28 132874560 0102211200 No. 29 143027586 0110021220 No. 30 143028756 0110022120 No. 31 143275860 0110212200 No. 32 143287560 0110221200 No. 33 145602873 0112002210 No. 34 145628730 0112022100 No. 35 145730286 0112100220 No. 36 145732860 0112102200 No. 37 145860273 0112200210 No. 38 145862730 0112202100 No. 39 145873026 0112210020 No. 40 145873260 0112210200 No. 41 156028743 0120022110 No. 42 156287430 0120221100 No. 43 157430286 0121100220 No. 44 157432860 0121102200 No. 45 158602743 0122002110 No. 46 158627430 0122021100 No. 47 158743026 0122110020 No. 48 158743260 0122110200 No. 49 260145873 0200112210 No. 50 260158743 0200122110 No. 51 261458730 0201122100 No. 52 261587430 0201221100 No. 53 273014586 0210011220 No. 54 273145860 0210112200 No. 55 274301586 0211001220 No. 56 274315860 0211012200 No. 57 274586013 0211220010 No. 58 274586130 0211220100 No. 59 275860143 0212200110 No. 60 275861430 0212201100 No. 61 286014573 0220011210 No. 62 286015743 0220012110 No. 63 286145730 0220112100 No. 64 286157430 0220121100 No. 65 287301456 0221001120 No. 66 287314560 0221011200 No. 67 287430156 0221100120 No. 68 287431560 0221101200 No. 69 287456013 0221120010 No. 70 287456130 0221120100 No. 71 287560143 0221200110 No. 72 287561430 0221201100 No. 73 301456287 1001120221 No. 74 301458627 1001122021 No. 75 301562874 1001202211 No. 76 301586274 1001220211 No. 77 302614587 1002011221 No. 78 302615874 1002012211 No. 79 302745861 1002112201 No. 80 302758614 1002122011 No. 81 302861457 1002201121 No. 82 302861574 1002201211 No. 83 302874561 1002211201 No. 84 302875614 1002212011 No. 85 314560287 1011200221 No. 86 314586027 1011220021 No. 87 315602874 1012002211 No. 88 315860274 1012200211 No. 89 326014587 1020011221 No. 90 326015874 1020012211 No. 91 327458601 1021122001 No. 92 327586014 1021220011 No. 93 328601457 1022001121 No. 94 328601574 1022001211 No. 95 328745601 1022112001 No. 96 328756014 1022120011 No. 97 430156287 1100120221 No. 98 430158627 1100122021 No. 99 430261587 1100201221 No.100 430275861 1100212201 No.101 430286157 1100220121 No.102 430287561 1100221201 No.103 431560287 1101200221 No.104 431586027 1101220021 No.105 432601587 1102001221 No.106 432758601 1102122001 No.107 432860157 1102200121 No.108 432875601 1102212001 No.109 456013287 1120010221 No.110 456028731 1120022101 No.111 456130287 1120100221 No.112 456287301 1120221001 No.113 457302861 1121002201 No.114 457328601 1121022001 No.115 458601327 1122001021 No.116 458602731 1122002101 No.117 458613027 1122010021 No.118 458627301 1122021001 No.119 458730261 1122100201 No.120 458732601 1122102001 No.121 560132874 1200102211 No.122 560143287 1200110221 No.123 560287314 1200221011 No.124 560287431 1200221101 No.125 561302874 1201002211 No.126 561430287 1201100221 No.127 562873014 1202210011 No.128 562874301 1202211001 No.129 573028614 1210022011 No.130 573286014 1210220011 No.131 574302861 1211002201 No.132 574328601 1211022001 No.133 586013274 1220010211 No.134 586014327 1220011021 No.135 586027314 1220021011 No.136 586027431 1220021101 No.137 586130274 1220100211 No.138 586143027 1220110021 No.139 586273014 1220210011 No.140 586274301 1220211001 No.141 587302614 1221002011 No.142 587326014 1221020011 No.143 587430261 1221100201 No.144 587432601 1221102001 No.145 601327458 2001021122 No.146 601328745 2001022112 No.147 601432758 2001102122 No.148 601432875 2001102212 No.149 601457328 2001121022 No.150 601458732 2001122102 No.151 601574328 2001211022 No.152 601587432 2001221102 No.153 602731458 2002101122 No.154 602743158 2002110122 No.155 602873145 2002210112 No.156 602874315 2002211012 No.157 613027458 2010021122 No.158 613028745 2010022112 No.159 614302758 2011002122 No.160 614302875 2011002212 No.161 614573028 2011210022 No.162 614587302 2011221002 No.163 615743028 2012110022 No.164 615874302 2012211002 No.165 627301458 2021001122 No.166 627430158 2021100122 No.167 628730145 2022100112 No.168 628743015 2022110012 No.169 730145628 2100112022 No.170 730145862 2100112202 No.171 730261458 2100201122 No.172 730286145 2100220112 No.173 731456028 2101120022 No.174 731458602 2101122002 No.175 732601458 2102001122 No.176 732860145 2102200112 No.177 743015628 2110012022 No.178 743015862 2110012202 No.179 743026158 2110020122 No.180 743028615 2110022012 No.181 743156028 2110120022 No.182 743158602 2110122002 No.183 743260158 2110200122 No.184 743286015 2110220012 No.185 745601328 2112001022 No.186 745613028 2112010022 No.187 745860132 2112200102 No.188 745861302 2112201002 No.189 756014328 2120011022 No.190 756143028 2120110022 No.191 758601432 2122001102 No.192 758614302 2122011002 No.193 860132745 2200102112 No.194 860143275 2200110212 No.195 860145732 2200112102 No.196 860157432 2200121102 No.197 860273145 2200210112 No.198 860274315 2200211012 No.199 861302745 2201002112 No.200 861430275 2201100212 No.201 861457302 2201121002 No.202 861574302 2201211002 No.203 862730145 2202100112 No.204 862743015 2202110012 No.205 873014562 2210011202 No.206 873026145 2210020112 No.207 873145602 2210112002 No.208 873260145 2210200112 No.209 874301562 2211001202 No.210 874302615 2211002012 No.211 874315602 2211012002 No.212 874326015 2211020012 No.213 874560132 2211200102 No.214 874561302 2211201002 No.215 875601432 2212001102 No.216 875614302 2212011002


★追記 2021/10/06
 変換元として2進数から16進数までを2進数に変換する場合のデータペア数を確認しましたので追記します。
★追記 2021/10/08 17~33を追加

変換元進数データペア数
2 2
3 3
4 4
5 1
6 2
7 14
8 16
9 0
10 0
11 0
12 0
13 8
14 16
15240
16256
17 0
変換元進数データペア数
18 0
19 0
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 1024
30 2048
3163488
3265536
33 0


★追記 2021/11/09
 27進数から3進数への変換に関するTwiiterに投函したメッセージを貼っておきます。



nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。