decbin

(PHP 4, PHP 5, PHP 7, PHP 8)

decbin β€” ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ число ΠΈΠ· дСсятичной систСмы счислСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ

ОписаниС

function decbin(int $num): string

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, которая содСрТит Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° num.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

num

ДСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для прСобразования.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… машин
ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число num ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число num Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
0 Β  0
1 Β  1
2 Β  10
... ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ...
2 147 483 646 Β  1111111111111111111111111111110
2 147 483 647 (наибольшСС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число) Β  1111111111111111111111111111111 (31 Π΅Π΄ΠΈΠ½ΠΈΡ†Π°)
2147483648 -2147483648 10000000000000000000000000000000
... ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ...
4 294 967 294 -2 11111111111111111111111111111110
4 294 967 295 (наибольшСС Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число) -1 11111111111111111111111111111111 (32 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹)
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… машин
ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число num ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число num Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
0 Β  0
1 Β  1
2 Β  10
... ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ...
9 223 372 036 854 775 806 Β  111111111111111111111111111111111111111111111111111111111111110
9 223 372 036 854 775 807 (наибольшСС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число) Β  111111111111111111111111111111111111111111111111111111111111111 (63 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹)
Β  -9 223 372 036 854 775 808 1000000000000000000000000000000000000000000000000000000000000000
... ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ...
Β  -2 1111111111111111111111111111111111111111111111111111111111111110
Β  -1 1111111111111111111111111111111111111111111111111111111111111111 (64 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ строковоС прСдставлСниС числа num.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° значСния ΠΈΠ· дСсятичной систСмы счислСния Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ decbin()

<?php

echo decbin(12) . "\n";
echo
decbin(26);

?>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

1100
11010

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • bindec() - ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число Π² дСсятичноС
  • decoct() - ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ число ΠΈΠ· дСсятичной систСмы счислСния Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ
  • dechex() - ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ число ΠΈΠ· дСсятичной систСмы счислСния Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ
  • base_convert() - ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ числа ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ систСмами счислСния
  • printf() - Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ %b, %032b ΠΈΠ»ΠΈ %064b
  • sprintf() - Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ %b, %032b ΠΈΠ»ΠΈ %064b
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
8
rambabusaravanan at gmail dot com ΒΆ
9 years ago
Print as binary format with leading zeros into a variable in one simple statement.

<?php
    $binary = sprintf('%08b',  $decimal);    // $decimal = 5;
    echo $binary;    // $binary = "00000101";
?>
up
7
Anonymous ΒΆ
20 years ago
Just an example:
If you convert 26 to bin you'll get 11010, which is 5 chars long. If you need the full 8-bit value use this:

$bin = decbin(26);
$bin = substr("00000000",0,8 - strlen($bin)) . $bin;

This will convert 11010 to 00011010.