mirror of https://github.com/01-edu/public.git
Augusto
5 years ago
committed by
Christopher Fremond
1 changed files with 39 additions and 9 deletions
@ -1,21 +1,51 @@ |
|||||||
## reversebits |
## reversebits |
||||||
|
|
||||||
|
## **WARNING! VERY IMPORTANT!** |
||||||
|
|
||||||
|
For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: |
||||||
|
|
||||||
|
This means that: |
||||||
|
|
||||||
|
- The package needs to be named `package main`. |
||||||
|
- The submitted code needs one declared function main(```func main()```) even if empty. |
||||||
|
- The function main declared needs to **also pass** the `Restrictions Checker`(illegal functions tester). It is advised for the student to just empty the function main after its own testings are done. |
||||||
|
- Every other rules are obviously the same than for a `program`. |
||||||
|
|
||||||
### Instructions |
### Instructions |
||||||
|
|
||||||
Write a program that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the |
Write a function that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the example) and returns the result |
||||||
example) and that prints the result. |
|
||||||
|
### Expected function |
||||||
|
|
||||||
|
```go |
||||||
|
func ReverseBits(by byte) byte { |
||||||
|
|
||||||
|
} |
||||||
|
``` |
||||||
|
### Usage |
||||||
|
|
||||||
|
Here is a possible [program](TODO-LINK) to test your function : |
||||||
|
|
||||||
|
```go |
||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"fmt" |
||||||
|
) |
||||||
|
|
||||||
|
func main() { |
||||||
|
a := byte(0x26) |
||||||
|
fmt.Printf("%08b\n", a) |
||||||
|
fmt.Printf("%08b\n", ReverseBits(a)) |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
### Expected output |
### Expected output |
||||||
|
|
||||||
```console |
```console |
||||||
student@ubuntu:~/piscine-go/reversebits$ go build |
student@ubuntu:~/piscine-go/reversebits$ go build |
||||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits |
student@ubuntu:~/piscine-go/reversebits$ ./reversebits |
||||||
Not enough arguments. |
00100110 |
||||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits 00100110 | cat -e |
01100100 |
||||||
01100100$ |
|
||||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits "djs" |
|
||||||
The argument "djs" does not represent a byte |
|
||||||
student@ubuntu:~/piscine-go/reversebits$ ./reversebits "0102039s" | cat -e |
|
||||||
The argument "0102039s" does not represent a byte$ |
|
||||||
student@ubuntu:~/piscine-go/reversebits$ |
student@ubuntu:~/piscine-go/reversebits$ |
||||||
``` |
``` |
||||||
|
Loading…
Reference in new issue