A decoding method, comprising: receiving N log-likelihood ratios, LLRs, corresponding to a to-be-decoded signal, wherein N is a code length; classifying K decoded bits into reliable bits and unreliable bits based on a prior LLR and/or a posterior LLR, wherein the prior LLR is an average LLR that is of a decoded bit and that is obtained based on channel statistical information, and the posterior LLR is an LLR that is of a decoded bit and that is calculated in real time based on the N LLRs; generating M decoding paths based on the N LLRs and a preset rule, wherein 1≤M≤Q, and Q is a preset total quantity of decoding paths; a total quantity of paths at each stage does not exceed L, L is a preset total quantity of decoding paths with a same length, and L≤Q; the preset rule is that: there is one next-stage path for the reliable bits, and there are two next-stage paths for the unreliable bits; a decoding path with a path length of j consists of decision results of a first to a j th decoded bit, and each decision result corresponds to one stage of the decoding path; K is a final quantity of decoded bits; and N, M, Q, L, K, and j are all positive integers, and 1≤ j ≤N; selecting each stage of target decoding path based on path metric, PM, values of the M decoding paths, to obtain a decoding result of each stage of decoded bits, wherein the PM values of the M decoding paths are calculated based on the prior LLR and the posterior LLR; and when a length of a first decoding path reaches N, performing cyclic redundancy check, CRC, on K decoded bits in the first decoding path, and returning a decoding success result if the CRC succeeds; or, continuing to perform CRC on K decoded bits in a next decoding path whose length reaches N, and returning a decoding failure result if a result of performing the CRC on K decoded bits in each decoding path whose length reaches N is that the CRC fails. receiving N log-likelihood ratios, LLRs, corresponding to a to-be-decoded signal, wherein N is a code length; classifying K decoded bits into reliable bits and unreliable bits based on a prior LLR and/or a posterior LLR, wherein the prior LLR is an average LLR that is of a decoded bit and that is obtained based on channel statistical information, and the posterior LLR is an LLR that is of a decoded bit and that is calculated in real time based on the N LLRs; generating M decoding paths based on the N LLRs and a preset rule, wherein 1≤M≤Q, and Q is a preset total quantity of decoding paths; a total quantity of paths at each stage does not exceed L, L is a preset total quantity of decoding paths with a same length, and L≤Q; the preset rule is that: there is one next-stage path for the reliable bits, and there are two next-stage paths for the unreliable bits; a decoding path with a path length of j consists of decision results of a first to a j th decoded bit, and each decision result corresponds to one stage of the decoding path; K is a final quantity of decoded bits; and N, M, Q, L, K, and j are all positive integers, and 1≤ j ≤N; selecting each stage of target decoding path based on path metric, PM, values of the M decoding paths, to obtain a decoding result of each stage of decoded bits, wherein the PM values of the M decoding paths are calculated based on the prior LLR and the posterior LLR; and when a length of a first decoding path reaches N, performing cyclic redundancy check, CRC, on K decoded bits in the first decoding path, and returning a decoding success result if the CRC succeeds; or, continuing to perform CRC on K decoded bits in a next decoding path whose length reaches N, and returning a decoding failure result if a result of performing the CRC on K decoded bits in each decoding path whose length reaches N is that the CRC fails.