Respostas:
Bem, quero dizer, o próprio computador não armazena nenhum valor em hexadecimal, ele os armazena como binários. No entanto, optamos por representá-los como dígitos hexadecimais, por um motivo principal - é a maneira mais fácil e concisa de representar dados bytewise:
0110 1011 becomes 6B in hex
O Octal exigiria o agrupamento de dígitos em 3, o que não permitiria a separação no nível de bytes:
01 101 011 becomes 153 in octal
Observe que o dígito mais significativo nunca será maior que 3.
Da wikipedia :
Todas as plataformas de computação modernas, no entanto, usam palavras de 16, 32 ou 64 bits, divididas em bytes de oito bits. Nesses sistemas, seriam necessários três dígitos octais por byte, com o dígito octal mais significativo representando dois dígitos binários (mais um bit do próximo byte significativo, se houver). A representação octal de uma palavra de 16 bits requer 6 dígitos, mas o dígito octal mais significativo representa (de maneira bastante deselegante) apenas um bit (0 ou 1). Essa representação não oferece nenhuma maneira de ler facilmente o byte mais significativo, porque está manchado em quatro dígitos octais. Portanto, hoje em dia, o hexadecimal é mais comumente usado em linguagens de programação, pois dois dígitos hexadecimais especificam exatamente um byte.
192.168.0.1
é o int sem sinal3232235521
que é como ele é realmente armazenado (que se traduz no binário que você postou, mas sem os pontos).