# Block Size（区块大小）

The block size determines how many bytes radare2 commands will process when not given an explicit size argument. You can temporarily change the block size by specifying a numeric argument to the print commands. For example `px 20`.

```
[0xB7F9D810]> b?
|Usage: b[f] [arg] Get/Set block size
| b        display current block size
| b 33     set block size to 33
| b+3      increase blocksize by 3
| b-16     decrease blocksize by 16
| b eip+4  numeric argument can be an expression
| bf foo   set block size to flag size
| bm 1M    set max block size
```

The `b` command is used to change the block size:

```
[0x00000000]> b 0x100   ; block size = 0x100
[0x00000000]> b +16     ;  ... = 0x110
[0x00000000]> b -32     ;  ... = 0xf0
```

The `bf` command is used to change the block size to value specified by a flag. For example, in symbols, the block size of the flag represents the size of the function.

```
[0x00000000]> bf sym.main    ; block size = sizeof(sym.main)
[0x00000000]> pd @ sym.main  ; disassemble sym.main
...
```

You can combine two operations in a single one (`pdf`):

```
[0x00000000]> pdf @ sym.main
```
