---
title: "Byte??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/91638-byte"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Reza"
published: "2003-12-01T15:33:35.000Z"
updated: "2003-12-02T07:22:03.000Z"
replies: 4
views: 229
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/91638-byte"
---

# Byte??

## #1 — Reza, 2003-12-01T15:33Z

En byte (den primitiva typen) är ju signed.
Så detta: 1000 0001 borde ge –1. 
Men nej, det fungerar inte när jag skriver följande:

```
byte b = 0x81;
```

För att detta ska fungera måste jag casta, och då får jag –127??
Hur tilldelar jag en byte –1 hexdecimalt?

Permalänk: https://www.webforum.nu/p/91638

## #2 — Aleph_One, 2003-12-01T15:55Z

Testa

```
byte b = (byte)0xff;
```

Permalänk: https://www.webforum.nu/p/1219153

## #3 — Reza, 2003-12-01T15:59Z

Jo det fungerar, men varför blir 1111 1111 -1?????????

Permalänk: https://www.webforum.nu/p/1219154

## #4 — Aleph_One, 2003-12-01T16:54Z

I java så räknas en byte som -128 till 127. Dvs när du skriver in 10000001 (129) så är ju det mer än 127, eller hur? Det fungerar ungefär som modulus, dvs efter att talet kommer upp i en viss storlek så börjar det om från början igen och räknar ut "resten".
127 motsvarar 127
128 motsvarar -128
129 motsvarar -127
och slutligen:
255 (11111111, 0xff) motsvarar -1

Blev det något klarare kanske?

Permalänk: https://www.webforum.nu/p/1219176

## #5 — Reza, 2003-12-02T07:22Z

Ja tack

Permalänk: https://www.webforum.nu/p/1219383

---

Tråden på webben: https://www.webforum.nu/amne/java/91638-byte
