(Javaで) 10進ドット記法と10進の変換 | しらべもの
10進ドット記法と10進の変換 | しらべもの
疑問もとけたし手直ししてjavaで書いた
IPアドレスが符号無し32bit整数で表現できるのに対して
java のintだと 符号付き32bit整数 なので最大値 2147483647(127.255.255.255)より大きい
数を扱えない。3232235777(192.168.1.1) は当然アウト。
疑問もとけたし手直ししてjavaで書いた
class IPCalc {
public static void main(String args[]) {
long decaddr=Long.parseLong(args[0]);
long[] oct=new long[4];
oct[3]=((((decaddr)%16777216)%65536)%256)/1;
oct[2]=(((decaddr-oct[3])%16777216)%65536)/256;
oct[1]=((decaddr-oct[2]*256-oct[3])%16777216)/65536;
oct[0]=(decaddr-oct[1]*65536-oct[2]*256-oct[3])/16777216;
System.out.printf("%d.%d.%d.%d",oct[0],oct[1],oct[2],oct[3]);
}
}
IPアドレスが符号無し32bit整数で表現できるのに対して
java のintだと 符号付き32bit整数 なので最大値 2147483647(127.255.255.255)より大きい
数を扱えない。3232235777(192.168.1.1) は当然アウト。
JUGEMテーマ:コンピュータ
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。